//
//  WSHomeController.swift
//  微博
//
//  Created by 武莎莎 on 15/9/6.
//  Copyright © 2015年 itcast. All rights reserved.
//

import UIKit
import ReactiveCocoa
import SVProgressHUD

private let WSStatusReuseCellID = "statusReuseCell"

class WSHomeController:WSBaseController {
    
    lazy var statusList = WSStatusListViewModel()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        if !WSUserAccountViewModel.sharedUserAccount.isLogin{
            visitView?.setUpVisitInfo(nil, txt: "关注一些人，回这里看看有什么惊喜")
            return
        }
         //注册可重用cell
        tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: WSStatusReuseCellID)
        
        loadData()
    }
    private func loadData(){
        statusList.loadStatus().subscribeNext({ (error) -> Void in
            printLog(error)
            SVProgressHUD.showInfoWithStatus("您的网络不给力")
            }) { () -> Void in
            self.tableView.reloadData()
        }
    }
}
// 类似于oc中的分类,分离遵守的协议方法
extension WSHomeController {
    
    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return statusList.status.count ?? 0
    }
    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        // 使用forIndexPath: indexPath时，必须注册可重用cell。这个方法一定会返回一个cell，缓存池中没有的话就会注册一个
        let cell = tableView.dequeueReusableCellWithIdentifier(WSStatusReuseCellID, forIndexPath: indexPath)
        
        let blogStatus:WSBlogStatus = statusList.status[indexPath.row] //as! WSBlogStatus
        
        print(blogStatus.text)
        
        cell.textLabel?.text = blogStatus.text
        
        return cell
    }


}
